#include <stdio.h>
#include<cassert>

//#define JEU_NCURSES
//#define JEU_NCURSES_TEST
#define JEU_SDL


#ifdef JEU_NCURSES
#include "boucleJeu-TXT.h"
#endif

#ifdef JEU_NCURSES_TEST
#include "bouclejeuTest.h"
#endif

#ifdef JEU_SDL
#include "bouclejeu-SDL.h"
#endif


int main ( int argc, char** argv )
{

#ifdef JEU_NCURSES

	Jeu* j;
	int fin;

	j=creerJeu(terrain1);

	ncursBoucle(j);

	fin=getFinJeu(j);
	libereJeu(j);

	switch ( fin )
	{
		case 0:
			printf("Le jeu n'a pas pu terminer, une erreur s'est produite \n");
			break;
		case 1:
			printf("Niveau terminé, BRAVO!, niveau suivant?\n");
			break;
		case 2:
			printf("GAME OVER\n");
			break;
		case 3:
			printf("vous avez forcé la fin du jeu\n");
			break;
	}


#endif

#ifdef JEU_NCURSES_TEST

	Jeu* j;
	int fin;

	j=creerJeu(terrain1);

    //int nom;
    //printf("Entrez le nom du terrain \n");
    //scanf("%d", &nom);
    //j=creerJeu(nom[]);
    j=creerJeu(terrain1);

    int p=0;
    int dx=0;
    int dy=0;
    printf("Entrez la position initiale de la barre \n");
    scanf("%d", &p);
    assert( (p >= 0) || (p < getDimxTer(j->t) - getTailleBar(j->br)) );
    setPositionBar(j->br, j->t, p);
    j->bl->positionX = (getGaucheBar(j->br) + getDroiteBar(j->br))/2;
    printf("Entrez la direction initiale de la balle selon x \n");
    scanf("%d", &dx);
    assert( (dx >= -2) && (dx <=2) );
    j->bl->dirX=dx;
    printf("Entrez la direction initiale de la balle selon y \n");
    scanf("%d", &dy);
	assert( (dy == 1) || (dy == -1) );
    j->bl->dirY = dy;

	ncursBoucle(j, dx, dy);

	fin=getFinJeu(j);
	libereJeu(j);

	switch ( fin )
	{
		case 0:
			printf("Le jeu n'a pas pu terminer, une erreur s'est produite \n");
			break;
		case 1:
			printf("Niveau terminé, BRAVO!, niveau suivant?\n");
			break;
		case 2:
			printf("GAME OVER\n");
			break;
		case 3:
			printf("vous avez forcé la fin du jeu\n");
			break;
	}


#endif


#ifdef JEU_SDL

    sdlJeu* sj;
    //TTF_Init();
    if(TTF_Init() == -1)
{
    fprintf(stderr, "Erreur d'initialisation de TTF_Init : %s\n", TTF_GetError());
    exit(EXIT_FAILURE);
}

    SDL_WM_SetCaption("Casse-brique", NULL);
	sj=sdlJeuCreer(terrain1);

	sdljeuBoucle(sj);
    sdljeuDetruit(sj);
    TTF_CloseFont(sj->police);
    TTF_Quit();
#endif



	/*printf("Fin du niveau\n");
	printf("Passage au niveau superieur\n");*/
	return 0;
}

